在使用docker开发时,除了主机要访问docker容器外,有时候,还需要docker容器能够主动的访问主机。
方法有三:

MAC OS

在MAC OS中,相对比较简单,我们可以直接使用docker.for.mac.localhost来代表主机。比如,我们想访问主机的8080端口,则可以curl docker.for.mac.localhost:8080来实现。

其它

liunx中没有实验条件,没有做测试。以下方法同样源于网络。

  • 为本地网卡增加一个固定ID

比如:sudo ifconfig lo0 alias 172.16.222.111

  • 为容器增加一条host记录

docker run --add-host my.private.dnsname.com:172.16.222.111

使用版本2的gateway

使用docker-compose的版本2,在docker-compose.yml进行网络定义:

config:
  - subnet: 172.16.238.0/24
    gateway: 172.16.238.1
官方在V3版本中,关闭了IPAM 。https://github.com/docker/docker.github.io/pull/1636

潘杰
3.1k 声望239 粉丝